<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>组件Prop验证</title>
    <script src="../vue.global.js"></script>
    <style>
        .red{
            color:red;
        }
        .font-big{
            font-size: 50px;
        }
    </style>
</head>
<body>

<div id="App">

    <!--<html-a v-bind:parent-msg="100"></html-a>-->
    <!--<html-a ></html-a>-->
    <html-a v-bind:parent-msg="100"></html-a>

</div>


<script>


    const htmlA = {//子组件
        data(){  //数据
            return {
                message:"子组件hello"
            }
        },
        props:{
            //parentMsg:Number
           // parentMsg:String
            //parentMsg:[String,Number,Function,Object,Boolean] //支持多种数据类型
            // parentMsg:{
            //     type:[String,Number,Function,Object,Boolean],
            //     default:0
            // }
            parentMsg:{
                type:[String,Number,Function,Object,Boolean],
                default:function(){
                    return "草";
                },
                validator(value){

                    return ['a','b','c','d',100].indexOf(value)!=-1?true:false;
                }
            }
        },
        //模板
        template:`<div>{{message}}</div><div>{{parentMsg}}</div>`
    };

    const vm = Vue.createApp({  //根组件

        data(){
            return {
                message:"父组件hello"
            }
        },
        components:{
            'html-a':htmlA
        }
    });
    vm.mount("#App");


</script>
</body>
</html>